[태그:] 운영 기록

  • 대화를 비웠는데 메모리는 그대로였다 — 두 지표를 하나로 여긴 기록

    대화를 비웠는데 메모리는 그대로였다 — 두 지표를 하나로 여긴 기록

    도우미를 오래 굴리면 대화가 길어진다. 길어진 대화는 다루기 어려워지고, 그래서 한 번씩 비운다. 그런데 비우는 이유를 물어보면 두 가지가 섞여 나온다. 하나는 대화가 길어서이고, 다른 하나는 컴퓨터가 무거워서다.

    이 글은 그 두 이유가 서로 다른 일이라는 이야기다. 우리는 한쪽을 하면 다른 쪽도 함께 될 것으로 기대했고, 실제로 재 보니 그렇지 않았다. 이 글은 그 전후 수치를 적은 기록이다.

    용어 둘을 먼저 풀어 둔다. 대화 기록은 지금까지 주고받은 말의 묶음이다. 길어지면 다루기 어려워진다. 메모리는 그 프로그램이 컴퓨터에서 차지하고 있는 자리다. 이 둘이 헷갈리는 이유는 단순하다 — 둘 다 “기억”처럼 들린다.

    이 글은 책상에 빗대어 쓴다. 끝까지 그 하나로만 간다. 책상 위 서류를 치우는 것그 책상이 사무실에서 차지한 자리가 줄어드는 것은 다른 일이다. 서류를 다 치워도 책상은 그 자리에 그대로 있다. 이 그림 하나면 이 글은 따라온다.

    논지는 한 줄이다. 대화를 비우는 것은 수명을 관리하는 일이고, 메모리를 되찾는 일이 아니다. 두 목적을 섞으면 양쪽에서 진다 — 비우기로 자리를 잡으려다 실패하고, 자리를 아끼려고 비우기를 미루다 하던 작업을 죽인다.

    앞선 편과의 경계. 잰 값을 다른 것의 증거로 써서 생긴 오탐은 앞 편에 적었다. 이 글은 그것과 다르다 — 두 값은 각각 자기를 정직하게 재고 있었고, 우리가 한 값을 다른 값의 대체물로 기대한 것이 어긋난 자리다.

    이 글이 도움이 되는 사람. 도우미를 오래 굴리는 사람이다. 짧게 쓰고 끄는 식이면 두 값이 모두 작아서 차이가 드러나지 않는다. 같은 프로그램을 며칠씩 켜 두고 대화를 이어 가는 쪽에서 이 둘이 갈린다.

    근거의 범위를 먼저 밝혀 둔다. 이 글의 근거는 우리 관측 세 차례다. 왜 그런 수치가 나왔는지 그 안쪽 기제를 우리는 재지 않았고, 다른 도구나 다른 환경에서도 같은지도 재지 않았다. 그래서 이 글에는 이유를 설명하는 문장이 없다.

    대화를 비운 양과 되찾은 자리의 양이 함께 움직이지 않는다는 것을 칸으로 나눠 그린 도식. 첫째 칸은 비운 뒤에 잰 값으로, 대화 기록은 88퍼센트를 줄였고 차지한 자리는 12.6퍼센트만 줄었으며 413메가바이트에서 361메가바이트가 되었고 프로그램 식별자와 시작 시각이 그대로여서 껐다 켠 것이 아니라고 적혀 있다. 둘째 칸은 비우는 동안으로, 그 구간에는 자리를 더 썼고 413메가바이트에서 433메가바이트가 되었으며 그 시점 시스템 전체 사용률도 올랐고 치우는 동안에는 잠깐 더 넓게 쓴다고 적혀 있다. 셋째 칸은 끝낸 양과 되찾은 양으로, 650메가바이트를 끝냈을 때 되찾은 여유는 100메가바이트였고 2213메가바이트를 끝냈을 때 여유는 985메가바이트 늘었으며 두 번 다 두 수가 달랐다고 적혀 있다. 넷째 칸은 두 지표를 각각 보는 법으로, 대화 기록은 수명을 관리하는 지표이고 차지한 자리는 자원을 관리하는 지표이며 하나가 줄었다고 다른 하나가 줄지 않는다고 적혀 있다. 아래 칸은 한정이다. 비우면 오히려 손해라는 뜻이 아니라는 것, 비우는 목적은 자리가 아니라 대화 수명이라는 것, 왜 그만큼만 줄었는지 내부 기제는 우리가 재지 않았다는 것, 그리고 다른 도구나 다른 환경에서도 같은지 재지 않았다는 것이 적혀 있다.
    비우기가 쓸모없다는 그림이 아니다. 비우기가 재는 것과 자리가 재는 것이 서로 다른 지표라는 것, 그리고 두 수가 함께 움직이지 않았다는 것을 그린 것이다. 아래 네 줄은 한정이다.

    비운 값과 남은 값

    1. 두 낱말이 다 기억처럼 들린다

    증상. 컴퓨터가 무거워졌다. 도우미를 오래 굴렸고 대화도 길어졌으니, 대화를 비우면 나아질 것 같다. 비운다. 화면은 깨끗해졌는데 컴퓨터는 그대로 무겁다.

    이 증상이 헷갈리는 이유. 비우기는 무언가를 한다. 화면이 정리되고 다음 대화가 가벼워진다. 손에 잡히는 변화가 있으니 다른 변화도 함께 왔으리라고 읽게 된다. 아무 일도 일어나지 않았다면 오히려 확인하러 갔을 것이다.

    여기서 갈리는 두 가지 해석. 하나는 덜 비웠다고 보는 것이다. 다른 하나는 다른 프로그램이 무겁게 하고 있다고 보는 것이다. 우리 기록에서는 둘 다 아니었다. 대화는 충분히 비웠고, 무거운 것도 그 프로그램이었다. 비운 것과 가벼워지는 것이 서로 다른 일이었다.

    둘을 갈라 놓고 보면 물음이 달라진다. 대화가 길어서 힘든 것이라면 물어야 할 것은 얼마나 줄였는가다. 컴퓨터가 무거워서 힘든 것이라면 물어야 할 것은 자리가 얼마나 줄었는가다. 두 물음은 서로 다른 값을 요구하고, 우리는 그중 하나만 재고 있었다.

    왜 이 둘이 붙어 다니는가. 이름 탓이 크다. 하나는 대화 기록이라 부르고 다른 하나는 메모리라 부르는데, 우리말로 옮기면 둘 다 기억이다. 기억을 지웠으니 기억이 차지하던 자리도 비었을 것 같다. 그 느낌이 아주 자연스러워서 확인할 생각이 들지 않는다.

    둘 다 늘어난다는 점도 헷갈림을 돕는다. 오래 굴리면 대화도 길어지고 차지한 자리도 커진다. 같은 방향으로 함께 늘어나는 것을 보면 같은 것의 두 얼굴처럼 보인다. 함께 늘어나는 것과 함께 줄어드는 것은 다른 이야기인데, 앞의 것만 보고 뒤의 것을 믿게 된다.

    책상으로 옮겨 보면 이렇다. 책상 위에 서류가 쌓였다. 서류를 치우면 책상 위는 넓어진다. 그런데 그 책상이 사무실 바닥에서 차지한 자리는 그대로다. 서류와 책상은 서로 다른 것을 차지하고 있었기 때문이다.

    두 지표를 갈라 적으면 이렇다.

    
    대화 기록   지금까지 주고받은 말의 묶음   길어지면 다루기 어렵다
    차지한 자리 그 프로그램이 쓰는 컴퓨터 자리 커지면 다른 일이 밀린다
    

    둘은 다른 것을 재고 다른 문제를 알려 준다. 앞의 것이 커지면 대화를 이어 가기 어려워진다. 뒤의 것이 커지면 같은 컴퓨터에서 다른 일이 밀린다. 다루는 방법도 서로 다르다.

    두 문제는 나타나는 자리도 다르다. 대화가 길어지면 그 자리 안에서 답이 느려지거나 앞부분을 놓친다. 자리가 커지면 다른 프로그램이 느려진다. 앞의 것은 그 자리에서 겪고, 뒤의 것은 컴퓨터 전체에서 겪는다. 겪는 곳이 다르니 알아차리는 사람도 다를 수 있다.

    그런데 우리는 한 동작으로 둘 다 해결하려 했다. 대화를 비우는 동작 하나가 앞의 문제를 줄여 주니, 뒤의 문제도 함께 줄여 주리라 기대했다. 그 기대를 우리는 재 본 적이 없었다. 이 글의 관측은 그 기대를 처음 재 본 기록이다.

    한 동작으로 둘을 풀고 싶어지는 이유. 손이 하나 덜 가기 때문이다. 두 문제를 각각 다루려면 두 가지를 재고 두 가지를 해야 한다. 하나로 되면 편하고, 편한 쪽이 맞기를 바라게 된다. 우리가 재 보지 않은 채 기대만 한 자리가 거기다.

    확인 방법. 자기 자리에서 비우기 전과 비운 뒤에 두 값을 각각 적어 보라. 하나는 대화가 얼마나 줄었는지이고, 다른 하나는 그 프로그램이 차지한 자리가 얼마나 줄었는지다. 두 값을 한 번만 나란히 적어 봐도 둘이 같이 움직이는지 아닌지가 보인다.

    2. 서류를 거의 다 치웠는데 책상 자리는 그대로였다

    이 항목은 우리가 실제로 잰 것이고 2026년 9월 8일 관측이다.

    관측. 한 자리의 대화 기록을 88퍼센트 줄였다. 같은 구간에 그 프로그램이 차지한 자리는 12.6퍼센트만 줄었다. 숫자로 적으면 413메가바이트에서 361메가바이트가 됐다.

    
    대화 기록      88 퍼센트   줄었다
    차지한 자리    12.6 퍼센트 줄었다   413MB -> 361MB
    

    88과 12.6 을 나란히 놓는 이유. 두 수를 따로 보면 각각은 이상하지 않다. 대화가 많이 줄어든 것도 정상이고, 자리가 조금 줄어든 것도 정상이다. 나란히 놓았을 때 비로소 둘이 같은 것을 재고 있지 않다는 것이 보인다.

    이 표에서 먼저 볼 것. 두 값이 같은 방향으로 움직이기는 했다. 둘 다 줄었다. 그런데 같은 폭으로 움직이지 않았다. 앞의 것이 거의 다 사라지는 동안 뒤의 것은 조금 줄었다.

    껐다 켠 것이 아니라는 점을 적어 둔다. 이 값들은 같은 프로그램 안에서 잰 것이다. 프로그램 식별자와 시작 시각이 그대로였다. 프로그램을 종료했다가 다시 켠 것이라면 이 비교는 아무 뜻이 없었을 텐데, 그렇지 않았다.

    두 값을 같은 구간에서 쟀다는 점. 앞뒤 시점을 서로 다르게 잡으면 그 사이에 다른 일이 끼어들 수 있다. 우리는 같은 구간의 앞과 뒤를 각각 재서 두 값을 얻었다. 그래서 이 두 수는 서로 비교할 수 있는 짝이다.

    초보용으로 옮기면 이렇다. 서류를 거의 다 치웠는데 그 책상이 사무실에서 차지한 자리는 거의 그대로였다. 책상을 옮긴 것도 아니고 새 책상으로 바꾼 것도 아니다. 같은 책상에서 서류만 줄어든 것이다.

    이 관측은 한 번이다. 우리는 이 측정을 한 차례 했다. 다른 시점에 다시 재면 두 수의 폭이 달라질 수도 있다. 그래서 이 항목이 말하는 것은 이 한 번의 측정에서 이랬다는 것이고, 늘 이렇다는 것이 아니다.

    퍼센트로 적은 이유. 두 값의 단위가 다르기 때문이다. 하나는 말의 길이이고 다른 하나는 바이트다. 단위가 다르면 크기를 바로 견줄 수 없으니 각자 얼마나 줄었는지의 비율로 옮겨 나란히 놓았다. 옆에 바이트 값도 함께 적어 두었다.

    이 관측이 말하는 것과 말하지 않는 것. 말하는 것은 이 한 번의 측정에서 두 수가 함께 움직이지 않았다는 것이다. 말하지 않는 것은 왜 그랬는가다. 그것은 아래 5번에서 따로 적는다.

    이 항목이 앞으로 쓰일 자리. 다음에 컴퓨터가 무거워졌을 때, 우리는 비우기를 먼저 떠올리지 않게 됐다. 비우기는 대화가 길어졌을 때 하는 일로 자리를 옮겼다. 무거운 문제는 무거움을 재는 값으로 따로 다룬다.

    확인 방법. 비우기를 재려면 그 프로그램의 식별자와 시작 시각이 그대로인지 함께 확인하라. 둘 중 하나라도 바뀌었으면 프로그램이 새로 뜬 것이고, 그때의 자리 변화는 비우기가 만든 것이 아니다.

    3. 치우는 동안에는 오히려 더 넓게 썼다

    이 항목은 같은 관측의 중간 구간이다.

    관측. 비우는 과정 자체가 그 구간에 자리를 더 썼다. 413메가바이트에서 433메가바이트로 올라갔다. 그 시점의 시스템 전체 사용률도 내려간 것이 아니라 올라갔다.

    이 값이 잠깐이라는 것도 적어 둔다. 우리가 본 것은 비우는 구간의 값이고, 그 구간이 끝난 뒤에는 앞에서 적은 361메가바이트로 내려갔다. 올라간 값이 그대로 남은 것이 아니다. 이 항목은 지나가는 구간에 대한 것이다.

    초보용으로 옮기면 이렇다. 서류를 치우려면 일단 꺼내서 늘어놓아야 한다. 그 잠깐 동안 책상은 평소보다 넓게 쓰인다. 치우는 일은 공간을 쓰는 일이기도 하다.

    ★여기서 한정을 분명히 적는다. 이것을 두고 “비우면 오히려 손해”라고 쓰지 않는다. 그 문장은 비우는 목적이 자리 확보라고 전제해야 성립한다. 우리 경우 비우는 목적은 자리가 아니라 대화 수명이었다. 목적이 다른 일을 손익으로 재면 그 계산은 처음부터 틀린 칸에 놓인다.

    비우는 목적을 여기서 다시 적어 둔다. 우리가 비우는 이유는 대화가 길어져서다. 길어진 대화는 이어 가기 어려워지고, 그것을 정리하는 것이 비우기의 일이다. 그 일은 잘 됐다 — 대화 기록은 88퍼센트 줄었다. 목적한 것은 이뤄졌다.

    그러면 이 관측은 무엇을 말해 주는가. 시점을 골라야 한다는 것을 말해 준다. 자리가 이미 빠듯한 순간에 비우기를 시작하면, 그 순간 잠깐 더 필요한 만큼이 없을 수 있다. 비우기가 나쁜 것이 아니라 비우기에도 자리가 든다는 사실을 계산에 넣어야 한다는 뜻이다.

    이 구간이 실제로 문제가 되는 상황. 자리가 넉넉하면 이 구간은 지나가고 만다. 문제가 되는 것은 이미 빠듯한 상태에서 비우기를 시작할 때다. 자리가 없어서 비우는데 비우는 데에 자리가 든다면, 그 순서가 맞는지부터 봐야 한다.

    이 구간을 우리가 오래 보지 않았다는 것도 적어 둔다. 우리가 가진 것은 그 구간의 앞뒤 수치다. 그 사이에서 값이 어떻게 오르내렸는지, 가장 높은 지점이 얼마였는지는 재지 않았다. 그래서 이 항목은 올라갔다는 것까지만 말한다.

    이 한정을 굳이 길게 적는 이유. 숫자만 떼어 보면 413에서 433으로 올랐다는 것이 눈에 남는다. 그 한 줄이 따로 돌아다니면 비우기를 하지 말라는 말처럼 읽힌다. 그래서 그 숫자 옆에 목적이 무엇이었는지를 붙여 둔다.

    확인 방법. 자리가 빠듯하면 비우기를 돌리는 중에도 한 번 재 보라. 전후만 재면 그 사이에 올라간 구간이 보이지 않는다. 자리가 빠듯한 상황이라면 그 구간이 실제로 문제가 될 수 있는 자리다.

    4. 끝낸 양과 되찾은 양은 다른 수다

    이 항목은 관측 두 차례다. 앞의 것과 다른 동작을 잰 것이다 — 비우기가 아니라 끝내기다.

    첫 번째 관측(2026년 9월 8일). 650메가바이트를 끝냈다. 그때 되찾은 여유는 100메가바이트였다.

    두 번째 관측(2026년 9월 9일). 묶음 하나를 통째로 접으면서 끝낸 합계가 2,213메가바이트였다. 같은 시각 여유는 985메가바이트 늘었다.

    
    끝낸 양      되찾은 여유
      650MB        100MB      (9월 8일)
    2,213MB        985MB      (9월 9일)
    

    두 관측을 나란히 두는 이유. 한 번만 봤다면 그날의 사정으로 넘길 수 있다. 두 번 다 끝낸 양과 되찾은 양이 달랐고 그 차이의 비율도 서로 달랐다. 그래서 이 항목은 두 줄을 나란히 적어 둔다.

    이 두 줄에서 읽을 수 있는 것. 끝낸 바이트로 되찾을 양을 예측할 수 없다. 두 번 다 되찾은 양이 끝낸 양보다 적었고, 그 비율도 두 번이 서로 달랐다. 하나의 값에서 다른 값을 계산해 내는 규칙을 우리는 갖고 있지 않다.

    두 관측의 규모가 달랐다는 점도 적어 둔다. 하나는 끝낸 양이 650메가바이트였고 다른 하나는 2,213메가바이트였다. 작은 쪽과 큰 쪽을 각각 한 번씩 본 셈이다. 두 번 다 되찾은 양이 끝낸 양과 달랐다는 것이 우리가 가진 전부다.

    이것이 왜 실무에서 문제인가. 자리가 부족할 때 우리는 얼마를 끝내면 얼마가 생기는지를 알고 싶어 한다. 그 계산이 서면 필요한 만큼만 끝내면 된다. 우리 두 관측은 그 계산이 서지 않는다고 말한다.

    이 항목이 앞의 항목들과 이어지는 자리. 앞에서는 대화를 줄인 값으로 자리를 판단할 수 없다는 것을 봤다. 여기서는 끝낸 양으로도 되찾을 자리를 판단할 수 없다는 것을 본다. 두 경우 모두 내가 한 일의 크기결과의 크기를 대신 읽으려 한 것이다.

    그래서 쓸 수 있는 방법은 하나다. 끝내고, 되찾은 양을 따로 확인하는 것이다. 예측 대신 측정이다. 필요한 만큼 생겼는지는 끝낸 뒤에 재 봐야 알 수 있고, 모자라면 한 번 더 끝내는 식으로 간다.

    예측 대신 측정이 무엇을 바꾸는가. 예측으로 일하면 얼마를 끝낼지를 먼저 정하게 된다. 측정으로 일하면 끝낸 뒤에 다시 본다. 뒤쪽은 한 걸음이 더 들지만, 필요한 만큼 생겼는지를 실제로 알 수 있다. 우리 두 관측은 앞쪽 방식이 서지 않는다고 말한다.

    되찾은 양을 무엇으로 쟀는가. 우리가 본 값은 여유다. 끝낸 쪽에서 얼마를 놓았는지가 아니라, 쓸 수 있게 된 쪽에서 얼마가 늘었는지를 봤다. 알고 싶은 것이 뒤쪽이기 때문에 뒤쪽을 재는 값을 봤다.

    초보용으로 옮기면 이렇다. 창고에서 상자 몇 개를 치웠다고 해서 그만큼의 빈 공간이 생기는 것은 아니다. 얼마나 생겼는지는 치우고 나서 봐야 안다. 우리가 두 번 재 본 결과가 그랬다.

    이 항목에서 남은 실무 감각 하나. 자리를 확보해야 할 때 우리는 이제 목표를 여유 쪽에 둔다. 얼마를 끝낼지가 아니라 여유가 얼마가 되면 되는지를 먼저 적고, 거기에 닿을 때까지 끝내고 다시 잰다.

    여기서도 이유는 적지 않는다. 왜 끝낸 양과 되찾은 양이 다른지, 왜 그 비율이 두 번 달랐는지 우리는 재지 않았다. 아래 5번이 그 자리다.

    이 항목에서 조심한 것. 두 관측의 비율을 계산해 평균을 내지 않았다. 두 번의 값이고, 두 번으로 평균을 내면 그 평균이 다음 번을 예측한다는 인상을 준다. 우리가 말할 수 있는 것은 두 번 다 달랐다는 것까지다.

    확인 방법. 무언가를 끝내 자리를 확보하려 한다면 끝내기 전후의 여유를 각각 적어 보라. 끝낸 양이 아니라 여유의 변화가 내가 얻은 값이다. 두 수를 나란히 적어 두면 다음에 얼마나 끝내야 하는지 감이 아니라 기록으로 판단할 수 있다.

    5. 왜 그런지는 우리가 재지 않았다

    이 항목은 이 글이 멈춘 자리이고, 이 편에서 특히 조심해서 적은 자리다.

    우리가 가진 것. 전후 수치다. 비우기 전과 뒤의 두 값, 비우는 중간의 값, 끝낸 양과 되찾은 여유. 그게 전부다.

    이 항목을 마지막에 둔 이유. 앞의 네 항목을 읽고 나면 그래서 왜 그런가가 궁금해진다. 그 물음에 답을 주지 않는 것이 이 글에서 지키기 어려운 부분이었다. 답이 없는 채로 끝내는 것이 불친절해 보이기 때문이다.

    우리가 갖지 못한 것. 그 안에서 무슨 일이 일어났는가다. 왜 88퍼센트를 줄였는데 자리는 12.6퍼센트만 줄었는지, 왜 끝낸 양과 되찾은 양이 그만큼 달랐는지 — 그 안쪽을 우리는 들여다보지 않았다.

    그럴듯한 설명은 왜 위험한가. 그럴듯하다는 것은 읽는 사람이 받아들이기 쉽다는 뜻이지 맞다는 뜻이 아니다. 그리고 우리 기록에 한 번 적히면 그것은 다음 글의 전제가 된다. 재지 않은 것이 전제가 되면 그 위에 쌓는 것이 전부 그만큼 흔들린다.

    그래서 이 글은 이유를 쓰지 않는다. 그럴듯한 설명은 여럿 떠오른다. 그런데 떠오르는 것과 잰 것은 다르다. 재지 않은 설명을 적어 두면 다음에 이 기록을 읽는 사람이 그것을 확인된 사실로 읽는다.

    모른다고 적는 것이 실무에서 주는 것. 다음에 같은 상황을 만났을 때 무엇을 재야 하는지가 분명해진다. 이 기록을 읽는 사람은 전후 수치가 있다는 것과 그 안쪽이 비어 있다는 것을 함께 본다. 비어 있는 자리가 보이면 그 자리를 재려는 사람이 나온다.

    설명을 지어 붙이면 무엇을 잃는가. 그 설명이 맞든 틀리든 다시 재 볼 이유가 사라진다. 이미 답이 적혀 있으면 아무도 그 자리를 파지 않는다. 모른다고 적어 두는 것은 다음 사람에게 남겨 두는 일이기도 하다.

    이 자리를 비워 두는 것도 기록이다. 우리가 남긴 것은 수치와 함께 여기까지 봤다는 표시다. 다음에 이 자리를 재는 사람은 우리 수치를 출발점으로 삼을 수 있고, 우리 짐작을 지우는 일부터 하지 않아도 된다.

    초보용으로 옮기면 이렇다. 무엇이 일어났는지왜 일어났는지는 다른 물음이고, 앞의 것만 재고도 유용한 기록을 남길 수 있다. 우리가 남긴 것은 앞의 것이다. 뒤의 것은 비워 두었다.

    이 글의 결론이 좁다는 것을 적어 둔다. 우리가 말할 수 있는 것은 우리 관측에서 두 수가 함께 움직이지 않았다는 것까지다. 이것이 우리 도구의 성질인지, 이 시점의 사정인지, 더 넓은 무엇인지 우리는 모른다. 모르는 것을 결론에 넣지 않았다.

    모른다고 적는 것과 모르는 척하는 것은 다르다. 우리가 적은 것은 무엇을 재지 않았는지까지다. 재지 않은 항목이 목록으로 남아 있으면 그것은 다음에 할 일의 목록이 된다. 아무 말도 하지 않는 것과는 남는 것이 다르다.

    확인 방법. 자기 기록을 다시 읽을 때 잰 문장과 설명한 문장을 갈라 표시해 보라. 설명한 문장 옆에 근거가 없으면 그것은 그때 떠오른 짐작이다. 짐작을 지우라는 것이 아니라 짐작이라고 적어 두라는 것이다.

    정리 — 확인할 것 세 가지

    아래 셋은 우리가 이 관측들 뒤에 정한 것이다. 새 규칙이 아니라 그때 하지 않아서 놓친 것을 적어 둔 것이다.

    셋 다 재는 값을 바꾸는 것이지 무엇을 더 하는 것이 아니다. 새 도구도 필요 없고 새 절차도 필요 없다. 이미 보고 있던 화면에서 다른 칸을 보는 일이다.

    첫째, 우리는 비우기를 대화 수명 관리로만 쓴다. 자리가 부족할 때의 답으로 쓰지 않는다. 우리 관측에서 대화를 88퍼센트 줄였을 때 자리는 12.6퍼센트 줄었다.

    둘째, 우리는 자리가 부족하면 자리를 재는 방법으로 다룬다. 끝낼 것을 끝내고, 되찾은 양을 따로 확인한다. 우리 두 관측에서 끝낸 양과 되찾은 양은 매번 달랐다.

    셋째, 우리는 두 수치를 각각 본다. 하나가 줄었다고 다른 하나도 줄었다고 보지 않는다. 두 수를 나란히 적어 두면 그 둘이 함께 움직이는지 아닌지가 기록으로 남는다.

    세 항목이 공통으로 말하는 것은 지표를 바꿔 쓰지 말자는 것이다. 대화를 줄인 값으로 자리를 판단하지 않고, 끝낸 양으로 되찾은 양을 판단하지 않는다. 알고 싶은 것이 있으면 그것을 재는 값을 본다.

    그리고 셋 다 사고를 막는 장치는 아니다. 알고 싶은 것을 실제로 재게 만드는 절차일 뿐이다. 우리 경우 재 보기 전까지는 두 값이 함께 움직인다고 믿고 있었고, 그 믿음을 깬 것은 새 도구가 아니라 두 값을 나란히 적어 본 일이었다.

    셋을 한 줄로 묶으면 이렇게 된다. 목적에 맞는 지표를 골라 그 지표를 직접 재는 것이다. 대화가 길어서 힘들면 대화를 재고, 자리가 없어서 힘들면 자리를 잰다. 한 동작으로 두 문제를 함께 풀려는 순간 어느 쪽도 확인되지 않는다.

    이 글에서 우리가 바꾼 것은 도구가 아니라 무엇을 보고 판단하는가다. 비우기도 그대로 쓰고 끝내기도 그대로 한다. 달라진 것은 그 뒤에 어느 값을 확인하는가이고, 그 확인이 없으면 두 수가 갈렸다는 것을 다시 모르게 된다.

    마지막으로 하나만 덧붙인다. 이 글은 비우기가 쓸모없다는 이야기가 아니다. 우리도 계속 비운다. 우리가 적은 것은 좁다 — 우리 관측에서 두 수가 함께 움직이지 않았고, 왜 그런지는 우리가 재지 않았다.

    전후 수치와 비워 둔 물음

    우리 운영 기록에서 확인한 것 (전부 전후 수치다)

    • 한 자리의 대화 기록을 88퍼센트 줄였을 때 그 프로그램이 차지한 자리는 12.6퍼센트만 줄어 413MB 에서 361MB 가 된 것 (2026년 9월 8일)
    • 그 값들이 같은 프로그램 안에서 잰 것이라는 것. 프로그램 식별자와 시작 시각이 그대로였고, 껐다 켠 것이 아니다
    • 비우는 과정 자체가 그 구간에 자리를 더 써 413MB 에서 433MB 가 된 것. 그 시점 시스템 전체 사용률도 올랐다
    • 650MB 를 끝냈을 때 되찾은 여유가 100MB 였던 것 (2026년 9월 8일)
    • 묶음 하나를 통째로 접으면서 끝낸 합계가 2,213MB 였을 때 같은 시각 여유가 985MB 늘어난 것 (2026년 9월 9일)

    우리가 측정하지 않아 쓰지 않은 것

    • 왜 그만큼만 줄었는지 내부 기제를 우리는 재지 않았다. 우리가 가진 것은 전후 수치다. 그래서 그럴듯한 설명을 이 글에 지어 붙이지 않았다. 이유를 적는 문장이 이 글에 없는 것은 빠뜨려서가 아니라 재지 않아서다
    • 다른 도구·다른 환경에서도 같은지 재지 않았다. 근거는 우리 관측 A·B 한 차례와 C 두 차례다. 그래서 이 현상이 일반적이라는 문장이 이 글에 없다
    • 비우는 구간에서 값이 어떻게 오르내렸는지. 우리가 가진 것은 그 구간의 앞뒤 수치이고, 가장 높은 지점은 재지 않았다
    • 끝낸 양과 되찾은 양의 비율이 두 번 다른 이유. 두 수를 각각 적어 두었을 뿐이다

    한정 하나를 따로 적어 둔다

    • 비우는 동안 자리를 더 썼다는 관측을 두고 비우면 오히려 손해라고 쓰지 않았다. 그 문장은 비우는 목적이 자리 확보라고 전제해야 성립하는데, 비우는 목적은 자리가 아니라 대화 수명이다. 그 관측에서 나오는 것은 비우기에도 자리가 든다는 것까지다

    이 글에서 쓴 비유에 대해

    • 책상 위 서류와 책상이 차지한 자리라는 그림은 설명을 위해 쓴 비유다. 우리 환경이 그렇게 생겼다는 뜻이 아니고, 비유에서 따라 나오는 결론을 사실로 쓰지 않았다. 이 글의 사실은 위에 적은 다섯 줄이 전부다

    같은 계열을 다른 자리에서 다룬 글

  • 리뷰어 세 좌석이 동시에 멈췄다 — 계정 하나를 나눠 쓰고 있었다

    리뷰어 세 좌석이 동시에 멈췄다 — 계정 하나를 나눠 쓰고 있었다

    중요한 판단을 도우미 하나에게만 맡기는 것이 불안할 때가 있다. 그래서 같은 것을 여러 쪽에 따로 물어본다. 우리도 그렇게 하려고 검토 담당 자리를 여러 개 두었다. 이 글은 그렇게 나눠 둔 자리들이 같은 날 한꺼번에 멈춘 이야기다.

    이 글은 회사에 빗대어 쓴다. 끝까지 그 하나로만 간다. 검사 담당자를 세 팀에 따로 뒀는데, 셋이 같은 회원 카드 한 장으로 출입하고 있었다는 그림이다. 카드 한 장의 하루 출입 횟수가 정해져 있다면, 셋이 나눠 쓰는 순간 셋 다 그 한도 안에 갇힌다.

    용어 둘만 풀어 둔다. 자리는 어떤 담당이 앉아 일하는 한 칸이다. 우리는 도우미 하나를 자리 하나에 앉힌다. 교차검증서로 다른 쪽에게 같은 것을 따로 보게 하는 것이다. 한쪽이 놓친 것을 다른 쪽이 잡아 주기를 기대하고 하는 일이다. 이 둘만 알면 나머지는 따라온다.

    비유를 한 번 더 풀어 둔다. 회원 카드에 붙은 한도는 사람 수와 무관하게 정해진다. 한 사람이 쓰든 세 사람이 나눠 쓰든 그 카드로 들어갈 수 있는 횟수는 같다. 그래서 사람을 늘리면 한 사람이 쓸 수 있는 몫이 줄어든다. 늘어난 것은 손이고 줄어든 것은 각자의 몫이다.

    논지는 한 줄이다. 일하는 자리를 나누면 실행은 갈라지지만, 바깥 서비스의 계정은 갈라지지 않는다. 내 쪽에서 무엇을 몇 개로 나누든 그것은 내 쪽 사정이다. 한도를 세는 쪽은 바깥이고, 바깥은 카드 한 장을 보고 센다.

    앞선 편과의 경계. 자리는 있는데 사람이 없어서 지시가 삼켜진 이야기는 앞 편에 적었다. 이 글은 반대다 — 자리도 있고 사람도 있었다. 막힌 곳이 안쪽이 아니라 바깥이었다.

    이 글이 도움이 되는 사람. 같은 것을 여러 쪽에 따로 물어보는 사람이다. 하나에게만 맡길 때는 이 문제가 생기지 않는다 — 나눌 것이 없으니 나뉘지 않을 것도 없다. 검토를 둘 이상으로 늘리는 순간, 늘린 것이 무엇이고 늘지 않은 것이 무엇인지가 갈린다.

    근거의 범위를 먼저 밝혀 둔다. 이 글의 근거는 우리가 겪은 한 사건이다. 이 일이 얼마나 자주 나는지 우리는 세지 않았고, 다른 서비스의 한도 정책이 어떻게 되어 있는지도 재지 않았다. 그래서 이 글에 그런 문장이 없다.

    검토 자리를 셋으로 나눠도 바깥 계정이 하나면 총량이 늘지 않는다는 것을 칸으로 나눠 그린 도식. 첫째 칸은 우리가 나눈 것으로, 검증 담당 자리를 셋으로 두고 서로 다른 실행 묶음에 각각 배치했으며 화면에는 셋이 따로 떠 있었다고 적혀 있다. 둘째 칸은 바깥이 세는 것으로, 계정 하나를 셋이 나눠 쓰고 있었고 한도는 그 계정에 붙어 있으며 한 곳이 많이 쓰면 나머지가 줄어든다고 적혀 있다. 셋째 칸은 그래서 일어난 일로, 세 자리가 같은 시각에 개인 할당량 소진으로 멈췄고 다시 쓸 수 있게 되는 시각도 거의 같았으며 그 겹침이 카드 한 장이라는 근거였다고 적혀 있다. 넷째 칸은 그동안 화면으로, 자리 목록도 편성 점검도 정상이었고 자리는 열려 있었고 담당도 걸려 있었으며 그 상태로 엿새 동안 아무 일도 못 했다고 적혀 있다. 아래 칸은 갈라 적기다. 있는지 확인하는 검사는 자리가 열려 있는지를 보고, 되는지 확인하는 검사는 실제로 일을 시켜 본다는 것, 그리고 우리를 깨운 것은 점검이 아니라 실제로 시켜 본 일이었다는 것이 적혀 있다. 맨 아래 두 줄은 한정이다. 관측은 한 번이라는 것, 그리고 다른 서비스의 한도 정책은 우리가 재지 않았다는 것이다.
    계정을 어떻게 써야 한다는 그림이 아니다. 우리 쪽에서 나눈 수와 바깥에서 세는 수가 다르다는 것, 그리고 정상 표시가 되는 것의 증거가 아니라는 것을 그린 것이다. 아래 두 줄은 한정이다.

    세 자리가 함께 멈춘 날

    1. 우리가 나눈 수와 바깥이 세는 수는 다른 수다

    증상. 여러 쪽에 따로 검토를 맡겨 두었는데, 어느 날 그 검토가 하나도 돌아오지 않는다. 자리를 확인해 보면 셋 다 그대로 있다. 그런데 셋 다 일을 하지 않는다.

    여기서 갈리는 두 가지 해석. 하나는 우연히 셋이 동시에 고장 났다고 보는 것이다. 다른 하나는 내가 셋에게 일을 제대로 보내지 않았다고 보는 것이다. 우리 기록에서는 둘 다 아니었다. 셋은 멀쩡했고 일도 갔다. 셋이 같은 문 앞에서 막혔다.

    교차검증을 하는 이유부터 짚어 둔다. 같은 것을 여러 쪽에 따로 보게 하는 것은 한쪽이 놓친 것을 다른 쪽이 잡아 주기를 기대하는 일이다. 그러려면 그 여러 쪽이 서로 다른 조건에 있어야 한다. 같은 조건에 있는 셋은 같은 것을 놓친다.

    다양성을 늘리는 쉬운 방법. 검토를 늘리고 싶을 때 손쉬운 길은 자리를 하나 더 여는 것이다. 자리는 화면에 바로 뜨고 개수도 셀 수 있다. 그래서 자리를 늘리면 다양성이 늘었다는 감각이 함께 온다. 늘어난 것은 자리이고, 다양성은 그것과 다른 축에 있다.

    우리가 나눈 것. 우리는 검증 담당 자리를 셋으로 두고 서로 다른 실행 묶음에 각각 배치했다. 화면에는 셋이 따로 떠 있었고, 각자 자기 일감을 받았다. 여기까지는 우리가 의도한 대로였다.

    그 의도가 어디까지 이뤄졌는가. 자리를 셋으로 나눈 의도는 서로 다른 쪽에게 따로 보게 하는 것이었다. 실행을 나누는 데까지는 이뤄졌다. 셋이 서로 다른 조건에 있게 하는 데까지는 이뤄지지 않았다. 의도와 결과가 갈린 자리가 정확히 거기다.

    바깥이 센 것. 그 셋은 바깥 서비스를 쓴다. 그리고 그 서비스는 계정 하나를 보고 한도를 센다. 우리가 자리를 몇 개로 나눴는지는 바깥에서 보이지 않는다. 바깥에서 보이는 것은 같은 카드가 반복해서 들어온다는 것뿐이다.

    나눈다는 말이 무엇을 나누는가. 나누면 실행은 갈라진다. 셋은 각자 자기 일감을 붙들고 서로를 기다리지 않는다. 갈라지지 않는 것은 그 셋이 함께 쓰는 바깥 자원이다. 나뉘는 것과 나뉘지 않는 것을 갈라 적어 두지 않으면, 앞의 것을 보고 뒤의 것까지 나뉘었다고 읽는다.

    그래서 무엇이 어긋나는가. 자리를 늘리면 동시에 일하는 손은 늘어난다. 그런데 할 수 있는 총량은 늘지 않는다. 총량은 카드에 붙어 있기 때문이다. 손을 셋으로 늘리면 한 손이 많이 쓸 때 나머지 두 손이 그만큼 못 쓰게 된다.

    손이 늘면 무엇이 좋아지는가. 총량이 그대로여도 손이 느는 것에는 값이 있다. 같은 시간에 여러 갈래를 동시에 볼 수 있기 때문이다. 우리가 놓친 것은 그 값이 총량과 다른 값이라는 점이다. 동시에 보는 폭과 하루에 할 수 있는 양은 서로 다른 축이고, 자리를 늘리면 앞쪽만 는다.

    쓸 수 있는 형태는 여기까지다. 자리 수와 계정 수는 다른 수다. 우리가 본 것은 한 계정을 세 자리가 나눠 쓴 한 사건이고, 그 사건에서 그 두 수가 갈렸다. 그보다 넓은 규칙을 우리는 이 글에 쓰지 않는다.

    총량이 어디에 붙어 있는가. 이 물음이 이 글의 핵심이다. 총량이 자리에 붙어 있으면 자리를 늘릴 때 총량도 는다. 총량이 카드에 붙어 있으면 자리를 늘려도 총량은 그대로다. 어느 쪽인지는 내 화면이 아니라 바깥이 정하는 것이라, 물어보지 않으면 알 수 없다.

    세어 보기가 어려운 경우도 있다. 자리마다 어떤 계정을 쓰는지가 한 화면에 모여 있지 않으면, 그 수를 세려면 자리를 하나씩 열어 봐야 한다. 그 번거로움이 세지 않게 만드는 힘이다. 우리도 그래서 세지 않았다.

    확인 방법. 자기가 지금 굴리는 검토 자리를 세어 보고, 그 자리들이 쓰는 계정을 따로 세어 보라. 두 수가 다르면 그 차이만큼은 나눈 것처럼 보이지만 나뉘지 않은 것이다. 세어 보기 전에는 두 수가 같다고 가정하고 있는 셈이다.

    2. 세 자리가 같은 시각에 멈췄다

    이 항목은 우리가 실제로 겪은 것이고 관측 한 번이다.

    관측. 서로 다른 실행 묶음에 각각 배치한 검증 담당 세 자리같은 시각에 멈췄다. 멈춘 이유는 셋 다 같았다 — 개인 할당량을 다 썼다는 것이었다. 세 자리가 각각 다른 일감을 붙들고 있었는데도 그랬다.

    각각 다른 일감을 붙들고 있었다. 셋은 서로 다른 묶음에서 서로 다른 것을 보고 있었다. 보는 것이 다르면 쓰는 양도 다를 텐데, 그런데도 멈춘 시각이 같았다. 이것이 우리가 이 관측을 그냥 넘기지 못한 첫 이유다.

    처음에 든 생각. 우리는 이것을 우연으로 읽으려 했다. 셋이 마침 비슷하게 많이 썼을 수도 있다고 본 것이다. 각자 한도를 따로 갖고 있다면 세 개의 한도가 비슷한 시점에 차는 일이 아주 없을 수는 없다.

    그 표시가 준 인상. 멈춤에 붙은 문구는 개인 할당량을 다 썼다는 것이었다. 이 말은 한도가 각자에게 붙어 있다는 인상을 준다. 그 인상이 우연이라는 첫 해석을 오래 붙들게 했다. 말이 가리키는 단위와 실제로 세는 단위가 같으리라는 보장은 없다.

    그런데 그 해석은 다음 사실 앞에서 무너졌다. 셋의 다시 쓸 수 있게 되는 시각이 거의 같았다. 한도가 따로 있는 셋이라면 그 시각도 각자 다르게 잡힌다. 셋의 회복 시각이 나란히 붙어 있다는 것은 세는 쪽이 하나라는 뜻이다.

    회사로 옮겨 보면 이렇다. 세 팀의 검사 담당자가 같은 시각에 문 앞에서 막혔다. 그리고 다시 들어갈 수 있게 되는 시각도 셋이 같았다. 카드가 세 장이면 이런 모양이 나오지 않는다. 카드가 한 장일 때 나오는 모양이다.

    카드가 한 장이라는 것은 문 앞에서 보이지 않는다. 각 팀 화면에는 자기 담당자만 뜬다. 다른 팀 담당자가 오늘 몇 번 드나들었는지는 그 화면에 없다. 그래서 내 쪽 화면을 아무리 봐도 남은 한도가 얼마인지 알 수 없다.

    초보용으로 옮기면 이렇다. 여러 쪽이 동시에 멈췄다는 것만으로는 원인을 알 수 없다. 우연히 겹칠 수도 있기 때문이다. 그런데 다시 살아나는 시각까지 겹치면 그것은 우연으로 설명하기 어려워진다. 멈춘 시점보다 풀리는 시점이 더 많은 것을 말해 준다.

    같은 시각이라는 말에 대해. 우리는 그 겹침을 초 단위로 재어 적어 두지 않았다. 우리가 본 것은 셋이 나란히 멈췄고 나란히 풀렸다는 정도다. 그러니 이 글의 근거는 겹쳤다는 것이지 몇 초 안에 겹쳤다는 것이 아니다.

    한정을 적어 둔다. 우리는 이것을 한 차례 봤다. 같은 모양이 다시 나는지, 얼마나 자주 나는지 우리는 세지 않았다. 이 항목은 그 한 번의 관측을 적은 것이다.

    이 관측에서 남은 것. 사건 자체보다 어디를 봐야 하는지를 알게 된 것이 남았다. 여럿이 함께 멈추면 우리는 이제 각자의 사정을 보기 전에 셋이 공유하는 것이 무엇인지부터 본다. 공유하는 것이 있으면 그것이 먼저 의심할 자리다.

    확인 방법. 여러 쪽이 함께 멈췄으면 다시 쓸 수 있게 되는 시각을 각각 적어 보라. 그 시각들이 나란히 붙어 있으면 세는 쪽이 하나일 가능성을 먼저 확인해야 한다. 각자 다르게 잡혀 있으면 우연 쪽이다.

    3. 다시 쓸 수 있게 되는 시각이 겹친 것이 근거였다

    이 항목은 어떻게 알았는가에 대한 것이다. 앞 항목과 같은 사건을 다른 각도에서 본다.

    우리가 직접 본 것과 추론한 것을 갈라 적는다. 직접 본 것은 세 자리가 같은 시각에 멈췄다는 것과 회복 시각이 거의 같았다는 것이다. 추론한 것은 그 셋이 한 계정을 나눠 쓰고 있었다는 것이다. 앞은 관측이고 뒤는 그 관측에서 끌어낸 결론이다.

    
    본 것    세 자리가 같은 시각에 멈췄다
    본 것    다시 쓸 수 있게 되는 시각이 거의 같았다
    추론     한도를 세는 쪽이 하나다 = 계정 하나를 셋이 나눠 쓴다
    

    이 추론이 서는 이유. 한도가 각자에게 붙어 있으면 차는 시점도 풀리는 시점도 각자 따로 잡힌다. 셋이 같은 창을 공유할 이유가 없기 때문이다. 반대로 한도가 계정 하나에 붙어 있으면 그 창은 하나뿐이고, 셋은 같은 창이 열릴 때까지 함께 기다린다.

    왜 관측과 추론을 갈라 적는가. 갈라 두면 나중에 뒤집을 자리가 분명해지기 때문이다. 새 사실이 나왔을 때 바꿔야 하는 것은 대개 추론 쪽이고, 관측은 그대로 남는다. 둘을 한 문장에 섞어 적으면 무엇을 고쳐야 할지 알기 어려워진다.

    이 추론이 서지 않는 경우도 적어 둔다. 셋이 각자 한도를 갖고 있는데 우연히 비슷한 시각에 찼고 회복 창의 길이도 같다면, 겉모양이 비슷해질 수 있다. 우리는 그 가능성을 완전히 배제하는 실험을 하지 않았다. 우리가 한 것은 둘 중 어느 쪽이 더 그럴듯한지를 본 것이고, 이 글의 결론은 그 판단까지다.

    거의 같았다는 말도 그대로 둔다. 셋의 회복 시각은 거의 같았지 정확히 같지 않았다. 그 차이를 우리는 재지 않았고, 그 차이가 무엇에서 왔는지도 모른다. 정확히 같았다고 적으면 우리가 재지 않은 것을 잰 것처럼 쓰는 일이 된다.

    초보용으로 옮기면 이렇다. 원인을 찾을 때 같이 일어난 것만 보면 우연과 구별되지 않는다. 같이 풀리는 것까지 보면 구별이 쉬워진다. 함께 멈추는 것은 여러 이유로 생기지만, 함께 풀리는 것은 같은 시계를 보고 있다는 뜻이기 때문이다.

    이 결론을 확정으로 쓰지 않는 이유. 우리가 본 것은 한 사건이다. 그 한 사건 안에서는 이 설명이 잘 맞았지만, 한 사건은 규칙이 되기에 모자란다. 그래서 이 글은 이 결론을 우리 한 사건에 대한 설명으로 두고, 그 밖으로 넓히지 않는다.

    확인 방법. 어떤 두 가지가 같은 원인에서 나왔는지 보고 싶으면 시작 시각만 보지 말고 끝나는 시각도 보라. 둘 다 겹치면 공통 원인 쪽이고, 시작만 겹치면 아직 모르는 것이다.

    4. 그동안 화면은 전부 정상이었다

    이 항목은 왜 엿새나 걸렸는가에 대한 것이다.

    관측. 그 기간에 자리 목록도 정상이었고 편성 점검도 정상이었다. 자리는 열려 있었고 담당도 그 자리에 걸려 있었다. 화면만 보면 검토 체계가 갖춰져 있는 상태였다.

    그 상태로 무슨 일이 있었는가. 엿새 동안 아무 일도 못 했다. 검토를 맡길 수 없었으니 그 자리들이 하기로 한 일이 전부 밀렸다. 그동안 화면은 계속 정상이라고 말하고 있었다.

    왜 화면이 정상이었는가. 그 화면들이 재는 것은 자리가 열려 있는가이기 때문이다. 자리는 실제로 열려 있었다. 담당이 걸려 있는지도 재고 있었고, 그것도 사실이었다. 화면은 틀린 말을 하지 않았다. 재지 않은 것을 말하지 않았을 뿐이다.

    점검은 만든 사람이 정한 것만 본다. 점검 목록에 없는 항목은 정상으로 표시되는 것이 아니라 아예 물어지지 않는다. 물어지지 않은 것은 화면에 자리를 차지하지 않으니, 빠져 있다는 사실도 화면에 없다. 목록에 무엇이 있는지는 목록을 열어야만 알 수 있다.

    정상이라고 말한 화면이 하나가 아니었다. 자리 목록도 정상이었고 편성 점검도 정상이었다. 서로 다른 두 화면이 같은 말을 하면 확인이 두 번 된 것처럼 느껴진다. 그런데 두 화면이 같은 것을 재고 있으면 그것은 한 번 잰 것이다.

    여기가 이 절의 요점이다. 우리가 알고 싶었던 것은 지금 검토를 맡길 수 있는가였다. 화면이 답하고 있던 것은 자리가 준비돼 있는가였다. 두 물음은 다른 물음인데, 화면 하나가 둘 다 답해 주는 것처럼 읽혔다.

    정상 표시가 오래 유지되면 생기는 것. 사람은 같은 화면을 계속 다시 읽지 않는다. 같은 표시가 이어지면 그 표시를 배경으로 넘기게 된다. 그러면 그 화면은 정보를 주는 자리에서 안심을 주는 자리로 바뀐다. 우리 경우 그 안심이 엿새 동안 이어졌다.

    초보용으로 옮기면 이렇다. 점검 화면이 초록색이라는 것은 그 점검이 보는 항목이 정상이라는 뜻이다. 그 항목 목록에 내가 궁금한 것이 들어 있는지는 따로 확인해야 한다. 초록색은 확인했다는 뜻이 아니라 확인한 것들이 정상이라는 뜻이다.

    엿새라는 기간에 대해. 그 기간은 일이 멈춰 있던 기간이자 정상 표시가 유지된 기간이다. 뒤쪽이 앞쪽을 늘렸다. 이상하다는 신호가 어디에도 없으면 확인하러 갈 이유가 생기지 않기 때문이다.

    밀린 일에 대해. 검토 자리가 하기로 한 일은 대개 다른 일의 앞 단계다. 검토가 서면 그 뒤에 올 것도 함께 선다. 그래서 멈춘 기간의 값은 그 기간에 검토가 못 한 양만이 아니라, 그 뒤에서 기다린 양까지 합친 것이 된다. 그 합을 우리는 세지 않았다.

    초록색을 의심하라는 말이 아니다. 점검은 그 값을 하는 일을 한다 — 목록에 있는 항목이 어긋나면 그때는 알려 준다. 우리가 놓친 것은 그 목록에 무엇이 들어 있는지를 한 번도 읽어 보지 않았다는 점이다. 화면을 믿은 것이 아니라 화면이 무엇을 재는지 모른 채 믿은 것이다.

    확인 방법. 자기가 쓰고 있는 점검 화면에서 무엇을 재고 있는지 목록을 한 번 열어 보라. 거기에 바깥 서비스를 실제로 쓸 수 있는가가 들어 있는지가 볼 지점이다. 들어 있지 않으면 그 항목은 초록색이 답해 주지 않는 항목이다.

    5. 있는지 확인하는 검사와 되는지 확인하는 검사는 다르다

    이 항목은 어떻게 발견했는가에 대한 것이고, 우리 쪽 몫을 적는 자리다.

    발견 경위. 점검이 잡아낸 것이 아니다. 실제로 일을 시켜 보고 알았다. 검토를 하나 맡겼고, 그것이 돌아오지 않아 들여다봤고, 거기서 멈춰 있는 것을 봤다. 우리를 깨운 것은 화면이 아니라 일감이었다.

    두 검사를 갈라 적으면 이렇다.

    
    있는지 확인    자리가 열려 있는가 · 담당이 걸려 있는가
    되는지 확인    실제로 하나 시켜 보고 결과가 돌아오는가
    

    앞의 것은 싸고 뒤의 것은 비싸다. 자리가 열려 있는지는 목록만 읽으면 되지만, 되는지 보려면 실제로 한 번 써야 한다. 쓰면 그만큼 한도를 쓴다. 그래서 되는지 확인하는 검사를 자주 돌리기는 어렵다.

    그러면 얼마나 자주 해 봐야 하는가. 그 주기를 우리는 정해 두지 않았고 재지도 않았다. 말할 수 있는 것은 한 번도 해 보지 않으면 알 수 없다는 것까지다. 우리 경우 그 한 번이 엿새 뒤에 왔다.

    그래도 갈라 두어야 하는 이유. 두 검사를 하나로 여기면 싼 검사가 비싼 검사의 답까지 준다고 믿게 된다. 우리 경우가 그랬다. 자리 목록이 정상이라는 것을 보고 검토 체계가 돌아간다고 읽었다. 목록은 그런 말을 한 적이 없다.

    두 검사를 함께 쓰는 방법. 싼 검사는 자주 돌리고, 비싼 검사는 가끔 돌리되 돌렸다는 사실을 기록해 두는 것이다. 그러면 마지막으로 실제로 시켜 본 것이 언제인지가 남는다. 그 시각이 오래되어 있으면, 지금 초록색이 무엇을 근거로 초록색인지 다시 물어볼 수 있다.

    우리 쪽 몫을 적어 둔다. 바깥 서비스가 계정 하나로 한도를 세는 것은 그쪽 방식이고, 그 방식을 우리가 확인하지 않은 채 자리를 셋으로 나눈 것이 우리 쪽 몫이다. 나눈다고 나뉘는지를 물어보지 않았다.

    왜 물어보지 않았는가. 나누는 동작이 우리 쪽에서 완결되기 때문이다. 자리를 셋으로 두는 일은 우리 손으로 끝나고, 끝나면 셋이 화면에 뜬다. 거기서 바깥도 셋으로 보는가를 물으려면 한 걸음을 더 가야 하는데, 화면이 이미 셋을 보여 주고 있어서 그 걸음을 건너뛰게 된다.

    우리 쪽 몫을 적는 이유. 바깥 방식을 탓하는 문장으로 끝내면 다음에 할 일이 남지 않는다. 우리가 할 수 있었던 것은 나눈 뒤에 나뉘었는지 물어보는 일이었고, 그 일은 지금도 우리 손 안에 있다. 그래서 이 절을 우리 쪽 몫으로 적는다.

    초보용으로 옮기면 이렇다. 준비돼 있는 것과 쓸 수 있는 것은 다르다. 창고에 재료가 있는 것과 오늘 요리를 낼 수 있는 것이 다른 것과 같다. 앞의 것은 목록으로 알 수 있고, 뒤의 것은 한 번 만들어 봐야 안다.

    기록해 두면 좋은 것 하나. 실제로 시켜 본 날짜를 적어 두는 것이다. 적어 두지 않으면 마지막으로 언제 확인했는지가 기억에만 남고, 기억은 정상 표시가 이어질수록 흐려진다. 우리 경우 그 날짜가 없어서, 엿새가 지난 뒤에야 그 기간을 거꾸로 세어 봤다.

    확인 방법. 검토 체계를 갖췄으면 가끔 실제로 하나 시켜 보라. 결과가 돌아오면 되는 것이고, 돌아오지 않으면 그때 자리를 들여다보면 된다. 목록이 정상인 것을 보고 넘어가면, 다음에 알게 되는 것은 정상 표시가 유지된 기간이 얼마나 길었는지다.

    정리 — 확인할 것 세 가지

    아래 셋은 우리가 이 사건 뒤에 정한 확인 절차다. 새로 만든 규칙이 아니라 그때 하지 않아서 놓친 것을 적어 둔 것이다.

    첫째, 우리는 검토의 다양성을 자리 수가 아니라 계정 단위로 센다. 자리가 셋이어도 카드가 한 장이면 바깥에서 세는 수는 하나다. 우리 경우 그 두 수가 달랐고, 다르다는 것을 세어 보기 전에는 몰랐다.

    둘째, 우리는 되는지 확인하려면 실제로 시켜 본다. 목록에 떠 있는 것은 되는 것의 증거가 아니다. 우리 경우 엿새 동안 목록은 정상이었고 그동안 검토는 하나도 돌아오지 않았다.

    셋째, 우리는 한도가 바깥에 있다는 것을 계산에 넣는다. 내 쪽에서 실행을 나눠도 바깥 한도는 나뉘지 않는다. 나누는 쪽과 세는 쪽이 다르면, 나눈 결과는 세는 쪽 화면에 나타나지 않는다.

    세 항목이 전부 세어 보라로 수렴하는 것도 적어 둔다. 자리 수와 계정 수를 세고, 실제로 돌아온 결과를 세고, 한도가 어디에 붙어 있는지를 센다. 세지 않으면 두 수가 같다고 가정하게 되고, 그 가정은 화면이 정상인 동안 계속 유지된다.

    셋을 한 줄로 묶으면 이렇게 된다. 내가 나눈 수와 바깥이 세는 수를 각각 세어 보는 것이다. 두 수가 같다고 가정하는 순간 그 차이는 보이지 않게 되고, 차이가 드러나는 자리는 대개 일이 멈춘 뒤다.

    이 셋 중 어느 것도 사고를 막는 장치는 아니다. 셋 다 알아차리는 시점을 앞당기는 것이다. 우리 경우 알아차린 것은 엿새 뒤였고, 그 엿새는 무엇이 잘못됐는지 몰라서가 아니라 잘못됐다는 신호가 없어서 흘렀다.

    마지막으로 하나만 덧붙인다. 이 글은 계정을 어떻게 쓰라는 이야기가 아니다. 우리가 적은 것은 좁다 — 우리 한 사건에서 자리 수와 계정 수가 다른 수였고, 그 차이를 정상 표시가 가려 주었다.

    한 사건의 기록과 그 범위

    우리 운영 기록에서 확인한 것 (우리가 쓰는 환경의 한 사건이다)

    • 서로 다른 실행 묶음에 각각 배치한 검증 담당 세 자리같은 시각에 개인 할당량 소진으로 멈춘 것 (관측 한 번)
    • 셋의 다시 쓸 수 있게 되는 시각이 거의 같았던 것. 한도가 각자에게 붙어 있었다면 그 시각이 그렇게 겹칠 이유가 없다 — 이것이 셋이 한 계정을 나눠 쓰고 있었다고 본 근거다
    • 그 기간에 자리 목록도 편성 점검도 정상을 표시한 것. 자리는 열려 있었고 담당도 걸려 있었다
    • 그 상태로 엿새 동안 아무 일도 못 한
    • 그것을 잡아낸 것이 점검이 아니라 실제로 일을 시켜 본 것이었다는 것

    우리가 측정하지 않아 쓰지 않은 것

    • 다른 서비스의 한도 정책이 어떻게 되어 있는지 우리는 재지 않았다. 이 글은 우리가 쓰는 환경에서 겪은 한 사건이다. 그래서 여러 서비스가 어떻게 한도를 센다는 문장이 이 글에 없다
    • 관측은 한 번이다. 세 자리가 그렇게 된 것을 한 차례 봤을 뿐이고, 이 일이 얼마나 자주 나는지 세지 않았다. 그래서 빈도에 대한 문장이 이 글에 없다
    • 셋이 각자 한도를 갖고 우연히 비슷하게 찼을 가능성. 우리는 그 가능성을 배제하는 실험을 하지 않았다. 어느 쪽이 더 그럴듯한지를 본 것까지가 우리가 한 일이다
    • 자리를 몇 개로 두는 것이 적절한지. 우리가 확인한 것은 자리 수와 계정 수가 다른 수라는 것까지다

    이 글에서 쓴 비유에 대해

    • 세 팀의 검사 담당자가 회원 카드 한 장을 나눠 쓰는 그림은 설명을 위해 쓴 비유다. 우리 환경이 그렇게 생겼다는 뜻이 아니고, 비유에서 따라 나오는 결론을 사실로 쓰지 않았다. 이 글의 사실은 위에 적은 다섯 줄이 전부다

    이 글이 하지 않는 말

    • 이 글은 계정을 어떻게 구성해야 한다고 쓰지 않는다. 우리가 확인한 것은 우리 한 사건에서 자리 수와 계정 수가 다른 수였다는 것이고, 그 두 수를 어떻게 맞출지는 쓰는 사람의 사정에 달려 있다
    • 이 글은 이 문제를 우리가 정리했다고 쓰지 않는다. 위 세 가지는 우리가 정한 확인 절차이고, 그 절차가 다음에 같은 것을 잡아낼지는 아직 재지 않았다

    같은 계열을 다른 자리에서 다룬 글